现在,我们已经能够把静态数据从控制器传入我们的视图模板中了。接下来,我们将要使用数据库中的数据。在本教程中,我们使用SQL Server Express来作为我们的数据库引擎。
4.1 使用Entity Framework code-first连接数据库
在本教程中,我们使用.NET 4中的Entity Framework(EF)来访问数据库以及对数据库中的数据进行增删查改操作。EF是一个非常灵活的对象关系映射(ORM:object relational mapping)数据库API,它使得开发者可以用一种面向对象的方式在数据库中进行增删查改操作。
Entity Framework 4支持一种被称为code-first的开发范例。code-first允许你用书写简单类的方式来创建模型对象(也称POCO对象),甚至可以直接通过模型类来创建数据库。为了要使用code-first,首先需要安装EFCodeFirst类库。
4.2 使用NuGet来安装EFCodeFirst
这里我们打算使用NuGet包管理器(安装ASP.NET MVC3时会同时自动被安装)来在本应用程序中添加EFCodeFirst类库。
点击“工具”菜单下的“Library Package Manager”子菜单下的“Add Library Package Reference”菜单选项,如图4-1所示。
评论
-
新浪网友
按如下步骤操作:
1.在vs2010中,打开Package Manager Console。(工具->Library Package Manager->Package Manager Console)
2.在提示符中key入如下命令:install-package EntityFramework,然后回车,稍等片刻即可完成安装 -
好了,按上面新浪网友说的,一下子就成了。谢谢博主和新浪网友 -
新浪网友
问下
from in db.A
join b in db.B on a.BId equery equals b.Id
select new
{
a.Aname,
b.Bname
}这样这么返回给View博主回复:
没有太大分别,把模型组建好,然后把模型传给视图,可以在模型中用一个类包含另一个类,方法可以参照ASP.NET MVC3书店中的有关做法
-
新浪网友
EdmMetadata 是什么表啊博主回复:
Entity Framework code-first使用的系统表
-
var genreModel = storeDB.Genres.Include("Books").Single(g => g.GenreId ==id);
这种方法确实不错,在查询类别时同时把该类别下的书籍也查出来了,但是如果类别下的书籍有几千,几万本,一次性查出可能就很慢了,博主是咋解决的博主回复:
数据量大的时候还是建议使用存储过程